﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Recursos.Model;

namespace Recursos.View
{
    public partial class Personal : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            var userSecurity = ((Usuario)Session["UserLogged"]);
            if (userSecurity== null)
                Response.Redirect("~/NoAccess.aspx");
            var permisos = new PermisosModel();

            if (!Page.IsPostBack && userSecurity != null && permisos.obtenerRolUsuario(userSecurity.Cedula).Equals("Administrador" ))

                PopulateDropDown();

            else if (userSecurity == null || permisos.obtenerRolUsuario(userSecurity.Cedula).Equals("Operador") || permisos.obtenerRolUsuario(userSecurity.Cedula).Equals("Profesor")||permisos.obtenerRolUsuario(userSecurity.Cedula).Equals("Coordinador"))
            {
                Response.Redirect("~/NoAccess.aspx");
            }
        }

        private void PopulateDropDown()
        {
            
            cargarPuesto();
            cargarCarrera();
            cargarRol();
        }


        private void cargarPuesto()
        {
            var puesto = new PuestoModel();
            dppuesto.DataSource = puesto.CargarPuestos();
            dppuesto.DataTextField = "Nombre";
            dppuesto.DataValueField = "id";
            dppuesto.DataBind();
        }
        private void cargarCarrera()
        {
            var carrera = new CarrerasModel();
            dpcarrera.DataSource = carrera.CargarCarreras();
            dpcarrera.DataTextField = "Nombre";
            dpcarrera.DataValueField = "id";
            dpcarrera.DataBind();
        }
        private void cargarRol()
        {
            var rol= new RolModel();
            dprol.DataSource = rol.CargarRoles();
            dprol.DataTextField = "Descripcion";
            dprol.DataValueField = "id";
            dprol.DataBind();
        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            if (txtcedula.Text == "" || txtcontraseña.Text == "" || txtcorreo.Text == "" || txtnombre.Text == "" || txtusuario.Text == "")
                WebMsgBox.Show("Complete la información requerida", "Creación de Personal");
            else
            {
                var usuariomodel = new UsuarioModel();
                try
                {
                    var usuario = usuariomodel.ComprobarUsuario(int.Parse(txtcedula.Text), txtusuario.Text, dppuesto.SelectedItem.Text.Equals("Estudiante"));
                    WebMsgBox.Show("El usuario "+ txtcedula.Text+" esta duplicado. No se realizo la inserción", "Creación de Personal");

                }
                catch (Exception)
                {
                    usuariomodel.CrearUsuario(txtnombre.Text, int.Parse(txtcedula.Text), int.Parse(dppuesto.SelectedValue), int.Parse(dpcarrera.SelectedValue), txtcontraseña.Text, txtcorreo.Text, txtusuario.Text, int.Parse(dprol.SelectedValue));
                    WebMsgBox.Show("Usuario "+ txtcedula.Text+" creado con éxito", "Creación de Personal");
                }
            }
        }
        public void clean()
        {
            txtcedula.Text = txtcontraseña.Text = txtcorreo.Text = txtnombre.Text = txtusuario.Text = "";
        }
        protected void dppuesto_SelectedIndexChanged(object sender, EventArgs e)
        {
            DropDownList puestoDD = (DropDownList)sender;
            if (puestoDD.SelectedItem.Text.Equals("Estudiante"))
            {
                Label2.Text = "Carnet";
            }
        }

       
    }
}